home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
GBCOPIER.ZIP
/
GBREAD.ARJ
/
README
< prev
Wrap
Text File
|
1995-10-20
|
3KB
|
76 lines
Here are the plans for making a Gameboy reader (and writer) for an IBM PC
parallel port. For the time, it allows to read cartridges (of any size, i.e. it
can change banks). It also allows to read/write the backup SRAM of the
cartridges which have one (you'll be able to share saved games the same way you
share passwords).
In a near future, I plan to build a writable cartridge containing some
backed-up memory, and you should be able to "upload" games to this cartridge
(using the same GB reader) and play them on the real GB. I hope people will
start writing their own games...
The included poscript files contain the PCB, which is unfortunately 2-sided and
have very narrow tracks (it was generated by an autorouter). I hope somebody
with a good layout program and some time will make another PCB with broader
tracks and less bridges because is it quite impossible to make this board
without professional machines. If there is enough requests, I'll make it
myself, but it should take some time since I'm very busy these days.
U2 and U3 are used for storing the adresses. U5 stores the data that will be
written to the cartridge. It is also used for switching banks, since banks are
switched by writing at a specified memory address.
U4 allows reading the data coming from the cartridge. Since we have only 4
input lines, we read one byte in two operations.
U8 is used for controlling the other chips (load data, enable IC...). Is should
be fairly easy to understand if you look at the schematics.
If anybody is interested in building the GB reader, here are some instructions:
First, you'd better use HCT chips since the parallel ouputs of the PC have TTL
levels. HC chips should also be OK, especially with the recent PCs.
For the chips U2, U3, U4 ,U5, U7 and U8, I use IC sockets with built-in
capacities between GND and VCC. You should find them in any electronic shop.
U1 is the connector for the GB cartridges. Read the FAQ for a place where you
can buy it.
J1 is a DB25 female connector. Be sure to use a short parallel cable between
the PC and the GB reader. I use a 20cm cable and it works fine.
U10 is a standard 9V battery. If you have a 5V source, you do not need U10, U6,
D1, C1, C2 and C3.
I've written a small program that allows reading the cartridges. You can
basically analyse the cartridge, i.e. read the header (1), save the ROM in a
file (2), backup the SRAM in a file (3) or restore the SRAM (4). It also
contains a primitive test function (5).
(1) read -a
(2) read -s mario.gb
(3) read -b mario.sav
(4) read -r mario.sav
(5) read -t
One of the biggest problem I had is that I couldn't read the SRAM, either with
MBC1 or MBC2. It's only with a logic analyser that I found you have to write
0x0A at the address 0x00 in order to "initialize" the MBC. Only after that you
can read/write the SRAM.
With MBC1, the program reads the whole SRAM even though a small part is
normally used as back-up memory. With MBC1, although the 4 lower bits of each
byte is used, I save the whole byte to keep the program simpler.
If you have any question or remark, feel free to mail me at:
felber@di.epfl.ch
P.S.
Of course, it is illegal to distribute copyrighted games ;-)